home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / scanlib / scan_get_proc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-12-07  |  1.7 KB  |  67 lines

  1.  
  2. void scan_get_proc()
  3. {
  4.         int i,j,k,ii,type,color;
  5.         double *t_x,*t_xstep;
  6.         extern int stop;
  7.         extern int scan_mdim,scan_xgrid[],scan_cur_index[];
  8.         extern int scan_region_index,scan_n_stored,scan_col_dim,scan_n_max,scan_grid_dim;
  9.         extern double *param,*var_i,**scan_x;
  10.         extern double scan_xmin[],scan_xmax[];
  11.         
  12.     t_x = (double *) dvector(0,scan_grid_dim-1);
  13.     t_xstep = (double *) dvector(0,scan_grid_dim-1);
  14.  
  15.     stop=0;
  16.     scan_init();
  17.     for(i=0;i<scan_grid_dim;i++){
  18.         t_xstep[i] = (scan_xmax[i] - scan_xmin[i]) / scan_xgrid[i];
  19.     }
  20.     if(scan_grid_dim==0){
  21.         if(scan_region_index==0){
  22.             for(k=0;k<scan_col_dim;k++)
  23.                 scan_x[0][k]= param[k];
  24.         }
  25.         else if(scan_region_index==1){
  26.             for(k=0;k<scan_col_dim;k++)
  27.                 scan_x[0][k]= var_i[k];
  28.         }
  29.     }
  30.     else if(scan_grid_dim==1){
  31.         for(i=0;i<scan_xgrid[0];i++){
  32.             for(k=0;k<scan_col_dim;k++)
  33.                 scan_x[i][scan_cur_index[0]]=scan_xmin[0]+i*t_xstep[0];
  34.         }
  35.     }
  36.     else if(scan_grid_dim==2){
  37.         for(i=0;i<scan_xgrid[0];i++){
  38.             ii = (i-1)*scan_xgrid[0];
  39.             for(j=0;j<scan_xgrid[1];j++){
  40.                 for(k=0;k<scan_col_dim;k++) {
  41.                     if(k==scan_cur_index[0]){
  42.                         scan_x[j+ii][k]=scan_xmin[0]+i*t_xstep[0]+ii*t_xstep[1];
  43.                     }
  44.                     else if(k==scan_cur_index[1]){
  45.                         scan_x[j+ii][k]=scan_xmin[1]+i*t_xstep[0]+ii*t_xstep[1];
  46.                     }
  47.                     else {
  48.                         if(scan_region_index==0)
  49.                             scan_x[j+ii][k]=param[k];
  50.                         else if(scan_region_index==1)
  51.                             scan_x[j+ii][k]=var_i[k];
  52.                     }
  53.                 }
  54.             }
  55.         }
  56.     }
  57.     else if(scan_grid_dim==3){
  58.         system_mess_proc(1,"Not implemented!");
  59.     }
  60.     else {
  61.         system_mess_proc(1,"Not implemented!");
  62.         }
  63.  
  64.     (void) free_dvector(t_x,0,scan_grid_dim-1);
  65.     (void) free_dvector(t_xstep,0,scan_grid_dim-1);
  66. }
  67.